1. Field of the Invention
The present invention relates to vector correlation of a sequence with a received signal in a spread spectrum telecommunications system.
2. Description of the Related Art
Spread spectrum telecommunication systems transmit data by combining the data with a pseudo-random noise (PN) “spreading” sequence to increase its bandwidth (i.e., “spread” or widened to a much larger bandwidth than the data bandwidth, and also referred to as signal “spreading”). Spreading a data signal provides frequency diversity to the transmitted signal. The PN sequence is a pseudo-random sequence of binary values, or “chips”, generated with a linear feedback shift register. The period of the PN sequence is T, while the period of each chip is Tc, T>>Tc. In addition, some alignment between data and the PN sequence is usually present. For example, a given data bit period may contain 64 chips of the PN sequence. When several users' signals are each spread uniquely with a different PN sequence and superimposed in frequency over one another, the process is known as code-division, multiple access (CDMA). This spreading process provides noise rejection and some immunity from fading in the channel, while also allowing simultaneous transmission of several different user signals within the same frequency band.
A data signal that is spread and transmitted through a channel is de-spread at the receiver to recover the information bits of the data. De-spreading of the received signal at the receiver is accomplished by correlating the received signal with a locally generated version of the PN sequence and integrating over a pre-defined period that usually corresponds to the period Td of the data bit. When the spreading PN sequence of the received signal is synchronized in code phase with the locally generated PN sequence, the received signal is “collapsed” in bandwidth into the original data sequence by the process of correlation. Thus, a receiver requires a form of synchronization between the sequence used at the transmitter and the one employed at the receiver.
FIG. 1 shows a block diagram of prior art, direct sequence (DS) spread spectrum communication system 100 transmitting data d(t) from transmitter 101 to receiver 102 through channel 103. Data d(t) is spread with the PN sequence PNT(t) by multiplier 104 before up-converting and transmission to channel 103 at antenna 105. Receiver 102 includes antenna 106 that receives and down-converts the signal from channel 103 to generate the received signal r(t). The received signal r(t) is generally sampled with an analog to digital (A/D) converter to produce a sequence of received sample values. The locally generated PN sequence PNR(t) at receiver 102 is synchronized with the corresponding PN sequence PNT(t) of transmitter 101. Synchronization of PN sequence PNT(t) and PNR(t) may be achieved through a separate process and may be aided, for example, by a separate system pilot signal. PNR(t) is correlated with the received signal r(t) in multiplier 107 to generate the recovered information bits d′(t).
Correlation recovers each data bit as follows. For example, if a data bit is spread by a PN sequence of 64 chips, the received signal of the data bit is sampled at least twice i) the maximum spreading rate or ii) the gross chip rate after spreading (i.e., sample period is Tc) to generate 64 samples. Chips of the locally generated PN sequence are generally provided from a linear feedback shift register employing techniques well known in the art, with the contents of the shift register being a portion of the sequence at any given time. Reading the output sequence of individual registers of the shift register, termed “taps”, provides phase-shifting of the PN sequence. Each sample is multiplied with a corresponding chip of the locally generated PN sequence, and the result added to the contents of an accumulation register. The total accumulator value after a data bit period represents an estimate of the de-spread and integrated data bit. A slicer may then generate a hard decision for the data bit from the total accumulator value at the end of the data bit period Td. Typically the binary value of a PN sequence chip is either +1 or −1, and so each multiplication with a sample is typically implemented as a simple sign inversion of the sample value.
Two different prior art types of correlator for multiplier 207 may be used to multiply and accumulate, and thus correlate, the received data r(t) with the locally generated PN sequence PNR(t). The two types are 1) the serial correlator and 2) the parallel, or vector, correlator. In a serial correlator, the accumulation of the combination of samples of the received signal with chips of the PN sequence is performed on a chip-by-chip basis over the entire sequence, or serially, as chips are generated from the linear feedback shift register. In a vector correlator, the process of correlating the received sequence with the transmitted spreading sequence is performed in parallel by splitting up the sequence of received samples into several smaller sequences. Partial correlation of the PN sequence with the smaller sequences is then accomplished using correlation taps derived for the spreading sequence. A tree of adders may be used to accumulate the partial correlation results. A given implementation of a serial correlator is smaller in size and consumes less power than a corresponding implementation of a vector correlator, but the serial correlator takes a longer time to perform a correlation than the vector correlator.
In some CDMA systems, such as third generation (3G) cellular phone systems, variable spreading rates are used in which the length of the spreading PN sequence within a data bit varies. The spreading rate, also referred to as the Spread Factor (SF), depends on the raw data rate and is varied to keep the gross chip rate after spreading the same for all data rates. A drawback of prior art serial and vector correlators is that each particular implementation tends to be designed for fixed spreading rates, and is not well suited to these variable spreading rate systems.